<!DOCTYPE HTML>
<title>Canvas test: 2d.state.saverestore.globalAlpha</title>
<!--[if IE]><script src="../excanvas/excanvas.js"></script><![endif]-->
<script src="../tests.js"></script>
<link rel="stylesheet" href="../tests.css">
<body class="framed show_output">
<h1>
<a href="2d.state.saverestore.globalAlpha.html" target="_parent">2d.&#8203;state.&#8203;saverestore.&#8203;globalAlpha</a>
</h1>
<p><a href="#" id="show_output" onclick="document.body.className += ' show_output'; return false">[show output]</a>
<p class="output">Actual output:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>

<ul id="d"></ul>
<script>
_addTest(function(canvas, ctx) {

// Test that restore() undoes any modifications
var old = ctx.globalAlpha;
ctx.save();
ctx.globalAlpha = 0.5;
ctx.restore();
_assertSame(ctx.globalAlpha, old, "ctx.globalAlpha", "old");

// Also test that save() doesn't modify the values
ctx.globalAlpha = 0.5;
old = ctx.globalAlpha;
    // we're not interested in failures caused by get(set(x)) != x (e.g.
    // from rounding), so compare against d instead of against 0.5
ctx.save();
_assertSame(ctx.globalAlpha, old, "ctx.globalAlpha", "old");
ctx.restore();


});
</script>

